// 浅拷贝
// let a = {
//     name: 'csc'
// }

// let b = a
// console.log(b);

// c = 1
// function c() {

// }

// var c = 2
// console.log(c);


// 深拷贝

// JSON.parse(JSON.stringfy(obj))

// 缺点：
// 1. 拷贝出来的顺序可能和原对象不一样
// 2. 不能拷贝函数类型的数据
// 3. 循环引用无法处理

let obj = {
    a:1,
    b:{
        c:2
    }
}



function deepClone(obj) {
    let copy = obj instanceof Array ? [] : {}

    for(let key in obj) {
        if(obj.hasOwnProperty(key)) {
            copy[key] = obj[key] instanceof Object ? deepClone(obj[key]): obj[key] 
        }
    }
    return copy
}

let a = deepClone(obj)
console.log(a);
